home *** CD-ROM | disk | FTP | other *** search
- """ QuArK - Quake Army Knife
-
- Implementation of "Addons" menu Load Any Map function
- """
- #
- # Copyright (C) 1996-99 Armin Rigo
- # THIS FILE IS PROTECTED BY THE GNU GENERAL PUBLIC LICENCE
- # FOUND IN FILE "COPYING.TXT"
- #
-
- #$Header: /cvsroot/quark/runtime/plugins/map1loadanymap.py,v 1.2 2003/12/18 21:51:46 peter-b Exp $
-
- Info = {
- "plug-in": "Map1 Load Any Map",
- "desc": "This Item function allows you to load any map file and is located on the Addons menu>Other Programs category.",
- "date": "June 7 2003",
- "author": "cdunde, Decker and others",
- "author e-mail": "cdunde1@attbi.com",
- "quark": "Version 6.4" }
-
- import quarkpy.mapmenus
- from quarkpy.maputils import *
-
-
- class LoadMapDlg(quarkpy.qmacro.dialogbox):
- #
- # dialog layout
- #
-
- endcolor = AQUA
- size = (400,120)
- dfsep = 0.35
- flags = FWF_KEEPFOCUS
-
- dlgdef = """
- {
- Style = "9"
- Caption = "LoadMap Dialog"
-
- loadmap: =
- {
- Txt = "Select a map file to load:"
- Typ = "EP"
- DefExt = "map"
- BasePath = "$Game\\tmpQuArK\maps"
- DirSep="/"
- Hint = "Type in the name of the map file (.map file),"$0D
- "preceded with its full path and forward slashes,"$0D
- "(ex. C:/Quake2/tmpQuArK/maps/your.map),"$0D
- "or just use the file browser ... to the right."$0D
- }
-
- sep: = { Typ="S" Txt=" " }
-
- close:py = {Txt="" }
- cancel:py = {Txt="" }
-
- }
- """
-
- #
- # __init__ initialize the object
- #
-
- def __init__(self, form, editor, action):
-
- #
- # General initialization of some local values
- #
-
- self.editor = editor
- src = quarkx.newobj(":")
- self.src = src
- self.action = action
- self.form = form
- self.src["loadmap"] = None
-
- #
- # Create the dialog form and the buttons
- #
-
- quarkpy.qmacro.dialogbox.__init__(self, form, src,
- close = quarkpy.qtoolbar.button(
- self.close,
- "Load the selected map file",
- ico_editor, 3,
- "Load map file"),
- cancel = quarkpy.qtoolbar.button(
- self.cancel,
- "Cancel & close window",
- ico_editor, 0,
- "Cancel"))
-
- def onclose(self, dlg):
- if self.src is None:
- qmacro.dialogbox.onclose(self, dlg)
- return
- quarkx.globalaccept()
- self.action(self)
- qmacro.dialogbox.onclose(self, dlg)
-
- def cancel(self, dlg):
- self.src = None
- qmacro.dialogbox.close(self, dlg)
-
- # ********** FUNCTION Starts Here **********
-
- def LoadMapClick(m):
- def action(self):
- if self.src["loadmap"] is None:
- quarkx.msgbox("No map file entered, nothing done", MT_ERROR, MB_OK)
- return
-
- editor = self.editor
- tmpquark = self.src["loadmap"]
- objfile = tmpquark.replace("/", "\\")
- info = quarkx.openfileobj(objfile)
- mygroup = quarkx.newobj('group:g')
- mygroup.copyalldata(info.subitem(0))
- quarkpy.mapbtns.dropitemsnow(editor, [mygroup], 'draw map')
-
- editor = mapeditor()
- if editor is None: return
- LoadMapDlg(quarkx.clickform,editor,action)
-
-
-
- # ----------- REVISION HISTORY ------------
- #
- #$Log: map1loadanymap.py,v $
- #Revision 1.2 2003/12/18 21:51:46 peter-b
- #Removed reliance on external string library from Python scripts (second try ;-)
- #
- #Revision 1.1 2003/07/04 20:01:16 cdunde
- #To add new Addons main menu item and sub-menus
- #
-